#ifndef Solver_H
#define Solver_H

#include "Time/Time.h"
#include "Config/Config.h"

class Solver
{

public:

    Solver()  
    {

    };

    virtual ~Solver() {};

    virtual void operator()(){};

    virtual void solve(){};

    virtual void finish(){};

    virtual void init(){};

    void addConfig(Config* configInp)
    {
        config = configInp;
    }

    Config* config;

    WallTime* wall_time0;
    WallTime* wall_time1;
    WallTime* wall_time2;

    WallTime* wall_time3;
    WallTime* wall_time4;
    
protected:

};

#endif
